1. Technical Field
The present invention relates to a statistical multiplexer for coding and multiplexing multiple channels of digital television data.
2. Related Art
Digital television has become increasingly popular due to the high quality video image it provides, along with informational and entertainment features, such as pay-per-view, electronic program guides, Internet hyperlinks, and so forth. Such television data can be communicated to a user, for example, via a broadband communication network, such as a satellite or cable television network, or via a computer network. The video data can include high definition (HD) and standard-definition (SD) television (TV).
However, due to the bandwidth limitations of the communication channel, it is necessary to adjust a bit rate of the digital video programs that are encoded and multiplexed for transmission in a single compressed bit stream. A goal of such bit rate adjustment is to meet the constraint on the total bit rate of the multiplexed stream, while also maintaining a satisfactory video quality for each program.
Accordingly, various statistical multiplexers have been developed that evaluate statistical information of the source video that is being encoded, and allocate bits for coding the different video channels. For example, video channels that have hard-to-compress video, such as a fast motion scene, can be allocated more bits, while channels with relatively easy to compress scenes, such as scenes with little motion, can be allocated fewer bits.
In MPEG-2 and MPEG-4 digital video systems, the complexity of a video frame is measured by the product of the quantization level (QL) used to encode that frame and the number of bits used for coding the frame (R). This means the complexity of a frame is not known until it has been encoded. As a result, the complexity information always lags behind the actual encoding process, which requires the buffering of a number of frames prior to encoding, thereby adding expense and complexity. This kind of look-behind information may be avoided by using some pre-encoding statistics about the video, such as motion estimation (ME) scores or a need parameter (NP) to provide a complexity measure. However, the relationship between the pre-encoding statistics of a video frame and the complexity of that frame may not be direct, and sometimes the relationship may change due to the changing subject matter of the source video.
Previous statistical multiplexing systems employed a number of individual encoders that encode data from a number of incoming channels of source video data. The system dynamically allocated bits to the individual encoders to encode frames of video data from the channels. The system used pre-encoding statistics of the source video frames that are closely related to the complexity of the frames, and account for changing content in the source video, to dynamically allocate bits. With more channels included in video content and increasing density of the data in high density systems it is desirable to continue to improve the performance of such multiplexing systems.